//1.创建核心对象
function createXHR(){
	if(window.XMLHttpRequest){
		return new XMLHttpRequest();//实例化核心对象google
	}
	//ie6  Microsoft.XMLHTTP
	//ie6以上  Msxml2.XMLHTTP	
	return new ActiveXObject("Msxml2.XMLHTTP");
}

//2.使用核心对象
	
function ajax(json){
	var xhr=new createXHR();
	json.type?json.type:json.type="get";//method请求方式
	json.dataType?json.dataType:json.dataType="json";//返回数据类型
	
	//如果没给参数
	json.async=json.async+"";
	if(json.async==""||json.async=="undefined"){
		json.async=true;
	}
	
	
	if(json.type.toLowerCase()=="get"){
		//get请求时通过url地址传值的
		xhr.open("get",json.url+"?"+params(json.data),json.async);
		xhr.send(null);//真的发送请求
	}
	else{
		xhr.open("post",json.url,json.async);
		//模拟表单的格式 open后面，send前面
		//设置请求头
		xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xhr.send(params(json.data));//真的发送请求
		console.log("post");
	}
	if(json.async=="true"){
		xhr.onreadystatechange=function(){
			if(xhr.readyState==4){
				myResult(xhr,json);
			}
		}
	}
	else{
		myResult(xhr,json);
	}	
}



//返回数据类型
function myResult(xhr,json){
	
	if(xhr.status==200){
	
		var resulte;
		if(json.dataType.toLowerCase()=="text"){
			resulte=xhr.responseText;
		}
		else if(json.dataType.toLowerCase()=="xml"){
			resulte=xhr.responseXML;
		}
		else{
			resulte=JSON.parse(xhr.responseText||'[]');
		}
		if(json.success){
				//alert(0)
			json.success(resulte);
		}
	}
}
//考试版
function ajax2(url,method,data,async,success){
	var xhr=new createXHR();
	if(method=="get"){
		xhr.open("get",url+"?"+params(data),async);
		xhr.send(null);
	}else{
		xhr.open("post",url,async);
		xhr.send(params(data));
	}
	if(async=="true"){
		xhr.onreadystatechange=function(){
			if(xhr.readyState==4&&xhr.status==200){
				if(success){
					console.log(11)
					success(xhr.responseText);
				}
			}
		}
	}
	else{
		if(xhr.status==200){
			
			if(success){
				console.log(22)
				success(xhr.responseText);
			}
		}
	}
}

//用于拼凑字符串的
function params(obj){
	var str="";
	for(var key in obj){
		str+=key+"="+obj[key]+"&";
	}
	return str;
}